/**
 * 定时器ID
 */
var id;

/**
 * 保存
 * @param data
 * @param callback
 */
function saveCaseVersionOffLine(data,callback){
	db.transaction(function (tx) {
    	tx.executeSql("INSERT INTO CASE_VERSION(" +
    			"CASE_VERSION_ID,GXDATE,ORGANID) " +
    			"VALUES (?,?,?)",
    			[data.id==undefined ? '' : data.id,
    			 data.gxDate==undefined ? '' : data.gxDate,
    	    			 data.organId==undefined ? '' : data.organId],
       function (tx, result) {
    	    if(typeof(callback) == 'function'){
    	    	callback(data);
    	    }
       },
	   function (tx, error) {
    	   message("保存案件版本号失败");
	   });
    });
}


/**
 * 修改
 * @param data
 * @param callback
 */
function updateCaseVersionOffLine(data,callback){
	db.transaction(function (tx) {
    	tx.executeSql("UPDATE CASE_VERSION SET GXDATE=?,ORGANID=?",
    			[data.gxDate==undefined ? '' : data.gxDate,data.organId==undefined ? '' : data.organId],
       function (tx, result) {
    	    if(typeof(callback) == 'function'){
    	    	callback(data);
    	    }
       },
	   function (tx, error) {
    	   message("修改案件版本号失败");
	   });
    });
}




/**
 * 通过ORGANID获取数据版本号
 * @param id 主键
 * @param callback 回调函数
 **/
function findDataVersionByIdOffLine(){
	$.messager.progress({
        msg:'正在加载数据...'
    });
	findOrganById($.cookie('organId'),initPdata);
	/*db.transaction(function (tx) { 
		tx.executeSql("SELECT * FROM CASE_VERSION",[] , 
		function (tx, result){ 
		    var len = result.rows.length; 
		    if(len == 0){
		    	//getCaseVersion();
		    	getCaseVersion();
		    	return;
		    }
		    var caseVersion = {};
		    for (var i = 0; i < len; i++){
			    caseVersion.id = result.rows.item(i).CASE_VERSION_ID;
			    caseVersion.gxDate = result.rows.item(i).GXDATE;
			    caseVersion.organId = result.rows.item(i).ORGANID;
		    }
    	    getCaseVersion(caseVersion);
	    }, 
	    function(tx, ex) {
        });  
	});*/
}

function initPdata(data){
	if(data.id != undefined && data.id == $.cookie('organId')){
		$.messager.progress('close');
		return;
	}
	getData();
}

/**
 * 获取案件系统数据
 */
function getData(){
	$.ajax({
		type : "POST",
		url : getContextPath() + "/case/getData",
		data : {
			userId:$.cookie("userId")
		},
		dataType : "json",
		success : function(data) {
			if(data.result == "fail"){
				 message(data.errorCode + ":" + data.errorMessage);
				 window.setTimeout(function() {
					   $.messager.progress('close');
					   top.location.href = "../login.html";
					}, 1000);
				return;
			}
			if(data.result == "success"){
				/**
				 * 同步信息查验表
				 */
				xxcy(saveXXCY,data.infoCheck);
				/**
				 * 同步机构执法门类表
				 **/
				organZfml(saveOrganZfml,data.organZfml);
				/**
				 * 同步机构表
				 **/
				organ(saveOrgan,data.organ);
				/**
				 * 同步部门表
				 **/
				depart(saveDepart,data.depart);
				/**
				 * 同步用户表
				 **/
				user(saveUser,data.user);
				/**
				 * 同步抽屉表
				 **/
				drawer(saveDrawer,data.drawer);
				/**
				 * 违法行为表
				 **/
				caseCause(saveCaseCauseOffLine,data.caseCause);
				/**
				 * 同步自由裁量权表
				 **/
				discretion(saveDiscretionOffLine,data.discretion);
				/**
				 * 同步法条表
				 **/
				lawContent(saveLawContentOffLine,data.lawContent);
				/**
				 * 同步机构文书表
				 **/
				caseLinkDocument(saveCaseLinkDocument,data.linkDocument);
				/**
				 * 同步案件编号表
				 **/
				caseNumber(saveCaseNumberOffLine,data.organCaseNumber);
				/**
				 * 同步人员表
				 **/
				staff(saveStaffOffLine,data.staff);
				/**
				 * 同步立案地址表
				 **/
				caseFillingPlace(saveCaseFillingPlaceOffLine,data.caseFillingPlace);
				/**
				 * 同步行政处罚种类
				 */
				caseAdministrativePunishment(saveAdministrativePunishmentOffLine,data.administrativePunishment);
				/**
				 * 代办事项
				 */
				findCaseCount();
				
				setInfoCheckCookie(data.infoCheck);
				/**
				 * 查询数据
				 */
				id=setInterval("findLinkDocument()",2000); 
			}
		}
	});
}

function setInfoCheckCookie(data){
	/**
	 * 信息查验
	 **/
	$.each(data,function(index,item){
		$.cookie(item.type,item.url,{expires : 7,path : '/'});
	});
}

function getCaseVersion(caseVersion){
	$.ajax({
		type : "POST",
		url : getContextPath() + "/case/getCaseVersion",
		dataType : "json",
		success : function(data) {
			if(data.result == "fail"){
				message(data.errorMessage);
				return;
			}
			if(caseVersion == undefined){
				saveCaseVersionOffLine(data.caseVersion);
			}
			
			if(caseVersion != undefined && data.caseVersion.gxDate == caseVersion.gxDate && $.cookie('organId') == caseVersion.organId){
				$.messager.progress('close');
				return;
			}
			getData();
			updateCaseVersionOffLine(data.caseVersion);
		}
	});
}



function startRun(){
	var count = 0;
	count = findLinkDocument();
	if(count){
		/**
		 * //取消定时执行
		 */
		window.clearInterval(id); 
		$.messager.progress('close');
	}
}

function deleteCaseVersion(){
	db.transaction(function (tx) { 
		tx.executeSql('DELETE FROM CASE_VERSION', [], 
		function (tx, results){
			
		}, 
		function (tx, ex){
		}); 
	});
}